﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using Entidades.Sistema.Produccion;
using Modelo.Sistema.Produccion;
using Entidades.Sistema.Venta;
using Modelo.Sistema.Venta;
using VistaOnlineR1._1.Models;

namespace WcfService1
{

    [ServiceContract]
    public class Fachada
    {
        [OperationContract]
        public List<InsumosService> GetInsumos()
        {

            CatalogoInsumo catalogo = new CatalogoInsumo();

            var query = from insumo in catalogo.ListarInsumos()
                        select new InsumosService
                                   {
                                       IdInsumo = insumo.IdInsumo,
                                       Nombre = insumo.Nombre,
                                       StockNecesario = insumo.StockNecesario
                                   };
            return query.ToList();

        }

        [OperationContract]
        public List<PedidosService> GetPedidos()
        {

            CatalogoPedidos catalogoPedido = new CatalogoPedidos();

            var query = from pedido in catalogoPedido.ListarPedidosPendientes()
                        where pedido.Estado == PedidosEstado.PendienteFacturacion
                        select new PedidosService
                        {
                            IdPedido      = pedido.IdPedido,
                            NombreCliente = pedido.Cliente.Nombre,
                            FechaEntrega  = pedido.FechaEntrega,
                            total         = pedido.Total
                        };
            return query.ToList();

        }

        [OperationContract]
        public void SetFacturado(int id)
        {

            CatalogoPedidos catalogoPedido = new CatalogoPedidos();

            catalogoPedido.SetFacturado(id);

        }
    }
}
